package com.skilltrack.enrol.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.skilltrack.enrol.model.dto.SaveTeachplanDto;
import com.skilltrack.enrol.model.dto.TeachplanDto;
import com.skilltrack.enrol.model.po.Teachplan;

import java.util.List;

/**
 * <p>
 * 课程计划先关的接口 服务类
 * </p>
 *
 * @author itcast
 * @since 2025-03-04
 */
public interface TeachplanService extends IService<Teachplan> {

    /**
     * 课程计划树形结构查询
     *
     * @param courseId 课程id
     * @return 课程计划树形结构
     */
    List<TeachplanDto> findTeachplanTree(Long courseId);

    /**
     * 新增或修改课程计划
     *
     * @param saveTeachplanDto 课程计划信息
     */
    void saveTeachplan(SaveTeachplanDto saveTeachplanDto);

    /**
     * 删除课程计划
     *
     * @param teachplanId 课程计划id
     */
    void deleteTeachplan(Long teachplanId);


    /**
     * 课程计划下移
     *
     * @param move      下移或上移
     * @param teachplanId 课程计划id
     */
    void move(String move, Long teachplanId);


}
